package gui.forms;

import domein.DomeinController;
import domein.Locatie;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;

import javax.swing.*;


/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class WijzigLokatie extends javax.swing.JFrame{

	private JTextField jTextFieldHoogte;
	private JTextField jTextFieldBreedtegraad;
	private JLabel jLabelLengtegraad;
	private JLabel jLabelHoogte;
	private JTextField jTextFieldLengtegraad;
	private JButton jButtonWijzigLocatie;
	private JLabel jLabelBreedtegraad;
	private JLabel jLabelNaam;
	private JTextField jTextFieldNaam;
	private DomeinController domeinController;;
	private Locatie locatie;
	private int locatieID,editable;
	
	public WijzigLokatie(DomeinController domeinController, JTree jTree, Locatie locatie) throws IllegalStateException, SQLException, ClassNotFoundException {
		super();
		this.domeinController = domeinController;
		this.locatie = locatie;
		initGUI();
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			this.setBackground(new java.awt.Color(90, 116, 142));
			getContentPane().setLayout(null);
			this.setMaximumSize(new java.awt.Dimension(960, 600));
			this.setMinimumSize(new java.awt.Dimension(960, 600));
			this.setResizable(false);
			this.setLocation(new java.awt.Point(300, 200));
			
			{
				jTextFieldNaam = new JTextField();
				getContentPane().add(jTextFieldNaam);
				jTextFieldNaam.setBounds(123, 19, 164, 35);
			}
			{
				jTextFieldBreedtegraad = new JTextField();
				getContentPane().add(jTextFieldBreedtegraad);
				jTextFieldBreedtegraad.setBounds(123, 73, 164, 35);
			}
			{
				jLabelNaam = new JLabel();
				getContentPane().add(jLabelNaam);
				jLabelNaam.setText("Naam:");
				jLabelNaam.setBounds(30, 33, 60, 16);
			}
			{
				jLabelBreedtegraad = new JLabel();
				getContentPane().add(jLabelBreedtegraad);
				jLabelBreedtegraad.setText("Breedtegraad");
				jLabelBreedtegraad.setBounds(30, 82, 80, 16);
			}
			{
				jButtonWijzigLocatie = new JButton();
				getContentPane().add(jButtonWijzigLocatie);
				jButtonWijzigLocatie.setText("Wijzig locatie");
				jButtonWijzigLocatie.setBounds(22, 252, 140, 39);
				jButtonWijzigLocatie.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent event)  {
						try{
						wijzigLokatie();
						}
						catch(SQLException ex){
						ex.printStackTrace();	
						}
						catch(ClassNotFoundException ex){
						ex.printStackTrace();		
						}
					}
				
				});
			}
			{
				jLabelLengtegraad = new JLabel();
				getContentPane().add(jLabelLengtegraad);
				jLabelLengtegraad.setText("Lengtegraad:");
				jLabelLengtegraad.setBounds(30, 136, 69, 16);
			}
			{
				jTextFieldLengtegraad = new JTextField();
				getContentPane().add(jTextFieldLengtegraad);
				jTextFieldLengtegraad.setBounds(123, 129, 164, 34);
			}
			{
				jLabelHoogte = new JLabel();
				getContentPane().add(jLabelHoogte);
				jLabelHoogte.setText("Hoogte:");
				jLabelHoogte.setBounds(30, 192, 43, 16);
			}
			{
				jTextFieldHoogte = new JTextField();
				getContentPane().add(jTextFieldHoogte);
				jTextFieldHoogte.setBounds(123, 185, 164, 34);
			}
			ophalenGegevens();
			pack();
		}catch (Exception e) {
			e.printStackTrace();
		}
		
	}
	
	private void ophalenGegevens()
	{
		jTextFieldNaam.setText(locatie.getNaamLocatie().trim());
		jTextFieldHoogte.setText(String.format("%s",locatie.getHoogte()));
		jTextFieldBreedtegraad.setText(String.format("%s",locatie.getBreedtegraad()));
		jTextFieldLengtegraad.setText(String.format("%s",locatie.getLengtegraad()));
		locatieID = locatie.getIDLocatie();
		editable = locatie.getEditable();
	}
	
	private void wijzigLokatie()  throws ClassNotFoundException, SQLException
	{
		locatie = new Locatie(locatieID,jTextFieldNaam.getText(),
				Float.parseFloat(jTextFieldBreedtegraad.getText()),
				Float.parseFloat(jTextFieldLengtegraad.getText()),
				Integer.parseInt(jTextFieldHoogte.getText()),editable);
		
		domeinController.wijzigLokatie(locatie);	
		this.dispose();
	}

}
